home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
pluginy Firefox
/
3895
/
3895.xpi
/
chrome
/
compact-ce.jar
/
content
/
showhide.js
< prev
next >
Wrap
Text File
|
2009-04-09
|
2KB
|
58 lines
var showhide = {
pref: Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("compact.menu."),
load: function() {
setTimeout(window.focus, 0);
CMCE.firefox = Custom.getMainWindow();
Custom.deleteOrRestoreMenus(true);
this.loadMenus("hidelist");
this.loadPref("hidelist");
},
loadPref: function(list) {
var array = CMCE.getItemListFromPref(list);
var target = document.getElementById(list);
for(var i = 0; i < target.childNodes.length; i++) {
for (var j = 0; j < array.length; j++) {
var item = target.childNodes[i];
if (item.getAttribute("targetId") == array[j]) {
item.checked = true;
break;
}
}
}
},
loadMenus: function(id) {
var list = document.getElementById(id);
var menubar = CMCE.firefox.getElementById("main-menubar");
for (var item=menubar.firstChild; item; item=item.nextSibling) {
try {
var adv = item.advRestorePoint;
if (item.tagName == "menu" && item.id || adv) {
var li = document.createElement("checkbox");
li.setAttribute("targetId", (adv ? item.oriId : item.id));
li.hidden = adv;
var label = (adv ? CMCE.firefox.getElementById(item.oriId) : item).getAttribute("label");
li.setAttribute("label", (label ? label : "( "+item.id+" )"));
list.appendChild(li);
}
} catch(e) {}
}
},
save: function () {
this.saveArray("hidelist");
CMCE.hideItems();
},
saveArray: function(list){
var listbox = document.getElementById(list);
var pref = "";
for (var item=listbox.firstChild; item; item=item.nextSibling)
if (item.checked) pref = pref + (pref ? "," : "") + item.getAttribute("targetId");
nsPreferences.setUnicharPref( "compact.menu."+list, pref);
}
}